﻿using Firefly.Framework.Components.Cameras;
using Microsoft.Xna.Framework;

namespace Firefly.Framework.Components.Terrain
{
    public interface IQuadTerrain : IDrawableComponent, ISpatial3D, IHasCamera, IRefractable
    {
        TerrainShader Shader { get; set; }
        int Width { get; }
        int Height { get; }
        float LodHeightImpact { get; set; }
        float LevelOfDetail { get; set; }

        float GetHeight(float x, float z);
        float GetHeightEx(float x, float z);
        float GetLodHeight(float x, float z);
        Vector3 GetNormal(float x, float z);
        Vector3 GetNormalEx(float x, float z);
    }
}
